+2006-06-20 Matthias Clasen <mclasen@redhat.com>
+
+ Fix handling of stock items without icons in action-based
+ ui. (#342458, Callum McKenzie)
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Set
+ the stock id even if there is no icon for it.
+
+ * gtk/gtkaction.c (connect_proxy):
+ * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
+ construct a stock icon if the stock item has an icon.
+
2006-06-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_column_drag_info): Better
+2006-06-20 Matthias Clasen <mclasen@redhat.com>
+
+ Fix handling of stock items without icons in action-based
+ ui. (#342458, Callum McKenzie)
+
+ * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Set
+ the stock id even if there is no icon for it.
+
+ * gtk/gtkaction.c (connect_proxy):
+ * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
+ construct a stock icon if the stock item has an icon.
+
2006-06-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_column_drag_info): Better
image);
gtk_widget_show (image);
}
- if (action->private_data->stock_id)
+
+ if (action->private_data->stock_id &&
+ gtk_icon_factory_lookup_default (action->private_data->stock_id))
gtk_image_set_from_stock (GTK_IMAGE (image),
action->private_data->stock_id, GTK_ICON_SIZE_MENU);
else if (action->private_data->icon_name)
if (entries[i].stock_id)
{
- if (gtk_icon_factory_lookup_default (entries[i].stock_id))
- g_object_set (action, "stock-id", entries[i].stock_id, NULL);
- else
+ g_object_set (action, "stock-id", entries[i].stock_id, NULL);
+ if (gtk_icon_theme_has_icon (gtk_icon_theme_get_default (),
+ entries[i].stock_id))
g_object_set (action, "icon-name", entries[i].stock_id, NULL);
}
NULL);
}
}
- else if (button->priv->stock_id)
+ else if (button->priv->stock_id &&
+ gtk_icon_factory_lookup_default (button->priv->stock_id))
{
icon = gtk_image_new_from_stock (button->priv->stock_id, icon_size);
gtk_widget_show (icon);